import java.util.Arrays;

import static java.util.Arrays.binarySearch;

public class Test {
 //实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素乘以2 ,并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}
//    public static void main(String[] args) {
//        int[] arr={1,2,3};
//        int i;
//        for (i=0;i<arr.length;i++){
//            arr[i]=arr[i]*2;
//        }
//        System.out.println(Arrays.toString(arr));
//
//    }

//数组转字符串
//public static String iS(int[] arr) {
//    String ret="[";
//    int i=0;
//    int x=0;
//        for(i=0;i< arr.length;i++) {
//            ret += arr[i];
//            if(i!=arr.length-1) {
//                ret += ",";
//            }
//            x++;
//        }

//     return ret+="]";
//}
//public static void main(String[] args) {
//    int[] arr={1,2,3,4,5};
//    System.out.println(iS(arr));
//}
//拷贝数组
//public static int[] copy(int[] arr)  {
//    int[] arr1=new int[arr.length];
//    int i=0;
//    for(i=0;i<arr.length;i++){
//        arr1[i]=arr[i];
//    }
//    return arr1;
//}
//public static void main(String[] args) {
//    int[] arr1={1,2,3,4};
//    int[] arr2=copy(arr1);
//    System.out.println(Arrays.toString(arr1));
//    System.out.println(Arrays.toString(arr2));
//    int[] arr3=Arrays.copyOfRange(arr1,1,4);//直接调用copyOfrange函数复制某一个范围
//    System.out.println(Arrays.toString(arr3));
//    int[] arr4=Arrays.copyOf(arr1,arr1.length);//调用copyOf函数复制
//    System.out.println(Arrays.toString(arr4));
//}
// 数组二分查找元素
//public static int find(int[] arr,int n){
//    int left=0;
//    int right= arr.length;
//    while(left<=right){
//        int mid=(left+right)/2;
//        if(arr[mid]<n){
//            left=mid+1;
//        }
//        else if (arr[mid]>n){
//            right=mid-1;
//        }
//        else{
//            return mid;
//        }
//    }
//    return -1;
//}
////
//    public static void main(String[] args) {
//        int[] arr={1,2,3,4,5};
//        int x=find(arr,3);
//        System.out.println(x);
//        //System.out.println(binarySearch(arr,3));//系统自带
//
//    }

//冒泡排序
    public static void PX(int[] arr){
        int i=0;//定义趟数

        for(i=0;i<=arr.length-1;i++){
            boolean a=false;
            int j=0;
            for(j=0;j<arr.length-i-1;j++){
                if(arr[j]>arr[j+1]){
                    int tep=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=tep;
                    a=true;
                }
            }
            if(a == false) {
             break;
         }
        }

//        for (int i = 0; i < array.length-1; i++) {
//            boolean flg = false;
//            // -i 代表每一趟都比上一趟少1次
//            for (int j = 0; j < array.length-1-i; j++) {
//                if(array[j] > array[j+1]) {
//                    int tmp = array[j];
//                    array[j] = array[j+1];
//                    array[j+1] = tmp;
//                    flg = true;
//                }
//            }
//            if(flg == false) {
//                break;
//            }
//        }
    }

    public static void main(String[] args) {
        int[] arr={1,4,22,445,7,774,3222};
        PX(arr);
        System.out.println(Arrays.toString(arr));
    }



}
